package controller;

import helper.AbstractAction;
import helper.ParseUtil;

import java.awt.event.ActionEvent;

import view.BankView;
import view.KontoUebersichtDialog;
import bank.Kunde;


public class KontoUebersichtDialogController {

    private final BankHandler bankHandler;
    private final BankView bankView;

    private KontoUebersichtDialog dialog;


    public KontoUebersichtDialogController(BankHandler aBankHandler, BankView aBankView) {
        bankHandler = aBankHandler;
        bankView = aBankView;
    }

    public void start() {
        dialog = new KontoUebersichtDialog(bankView, true);
        dialog.getBtZeigeKonten().addActionListener(new KontenAnzeigenAction());
        dialog.getBtEnde().addActionListener(new BeendenAction());
    }


    // Inner Classes ***********************************************************

    private class KontenAnzeigenAction extends AbstractAction {
        @Override
        protected void execute(ActionEvent aEvent) throws Exception {
            int kundennummer = ParseUtil.parseKundennummer(dialog.getTfKundennummer().getText());
            Kunde kunde = bankHandler.getKundeByKundenNummer(kundennummer);
            dialog.getKontoUebersichtTableModel().setKonten(kunde.getKontenListe());
        }
    }

    private class BeendenAction extends AbstractAction {
		@Override
		protected void execute(ActionEvent aEvent) throws Exception {
            dialog.dispose();
		}
    }
}
